/**
 * 
 * Author：liaozhanggen
 * Create Date：2017年2月18日
 * Version：v2.0
 */
package com.choosefine.it.cprivilege.dao;

import com.choosefine.it.cprivilege.model.Account;
import com.choosefine.it.cprivilege.model.dto.AccountDTO;
import com.choosefine.it.cprivilege.model.vo.AccountVO;

/**
 * 账户持久化层
 * Author：liaozhanggen
 * Create Date：2017年2月18日
 * Version：v2.0
 */
public interface AccountMapper {

	/** 
	 * 添加帐户
	 * @Author：liaozhanggen
	 * @Create Date：2017年2月18日
	 * @param：....
	 * @return：int
	 */
	int addAccount(Account account);

	/** 
	 * 更新账户
	 * 
	 * @Author：liaozhanggen
	 * @Create Date：2017年2月18日
	 * @param：....
	 * @return：void
	 */
	int updateAccount(Account account);

	/** 
	 * 查询帐户及密码是确认存在
	 * 
	 * @Author：liaozhanggen
	 * @Create Date：2017年2月18日
	 * @param：....
	 * @return：int
	 */
	int findAccountByPwd(Account account);

	/** 
	 * 校验添加的帐户是否存在
	 *
	 * @Author：liaozhanggen
	 * @Create Date：2017年2月18日
	 * @param：....
	 * @return：int
	 */
	int validAccountExists(AccountDTO accountDTO);

	/** 
	 * 删除（软）帐户 
	 * @Author：liaozhanggen
	 * @Create Date：2017年2月18日
	 * @param：....
	 * @return：int
	 */
	int deleteAccount(Account account);

	/** 
	 * 单个账号详情
	 * @Author：liaozhanggen
	 * @Create Date：2017年2月18日
	 * @param：....
	 * @return：AccountVO
	 */
	AccountVO detailAccount(Account account);

	/** 
	 * 登录
	 * 
	 * @Author：liaozhanggen
	 * @Create Date：2017年2月18日
	 * @param：....
	 * @return：AccountVO
	 */
	AccountVO loginAccount(Account account);


}
